No dia a dia uso muito meu pendrive e o notebook para trabalhar, pois presto serviços em vários estabelecimentos e possuo meu "QG" com desktop, biblioteca etc, onde armazeno meus dados.
Como procedo: tenho meus documentos e arquivos no desktop, que é a máquina principal de uso, pois a utilizo mais para trabalhar, mas preciso de mobilidade, que o pendrive e o notebook dão.
Até aí nada de novo, pois todo mundo faz assim.
A questão que me trouxe até esta dica são as versões de arquivos. Como disse há pouco em outra dica, meus arquivos começaram a ficar bagunçados e precisei fazer uma faxina nos HDs (uso 3x40GB IDE no desktop, por pura sovinice, mas isso não vem ao caso).
E acabei percebendo que iria piorar a bagunça das minhas coisas nessa questão de carregar dados no pendrive, no notebook, trazer para o desktop e vice versa. Na verdade eu já tinha percebido isso há tempos, e criei uma rotina diária para mim, a fim de minimizar o impacto em meus dados.
Vamos lá... Feita a faxina descrita na dica
Eliminando arquivos duplicados (quase!) automaticamente, podemos começar com um sistema limpinho, mas não é imprescindível.
Vou descrever aqui minha rotina, você pode adotá-la ou não, fica a seu critério.
Becape semanal
1) Todos os dados das pastas de arquivos e de $HOME são sincronizados com o HD externo.
2) Todos os dados do HD externo são sincronizados com o notebook Amazon (uso mais um Dellzim velho no dia a dia).
3) Guardar o notebook (uso pouco para trabalhar, mais para ler, assistir vídeos, msn e programar um pouco) e o HD externo.
Becape diário
1) Todos os dados da pasta $HOME/Documentos do desktop são sincronizados com a pasta Documentos do pendrive (uso 2 partições para evitar xeretas eventuais no Windows -- os dados ficam em ext2 e ele é bootável com Ubuntu 9.04 via FAT16 -- são 2+2GB -- na partição FAT16 ficam apenas arquivinhos tolos que passo pra um ou outro usuário e ferramentas pra descanalhar Windows dos tais).
2) Todos os dados da pasta Documentos do pendrive são sincronizados com a pasta $HOME/Documentos do notebook Dell.
3) Daqui temos 2 possibilidades:
a) caso tenha trabalhado com o notebook Dell, todos os dados da pasta $HOME/Documentos do notebook são sincronizados com a pasta Documentos do pendrive.
a.1) Todos os dados da pasta Documentos do pendrive são sincronizados com a pasta $HOME/Documentos do desktop. Paramos.
b) caso tenha trabalhado com o desktop, voltamos para os procedimentos "1" e "2" e paramos.
UFA. Falar é mais difícil que fazer. E agora temos todos os documentos e arquivos nas mesmas versões em diferentes máquinas (no meu caso 2, pois o Dell fica só com os Documentos) e mídias (pendrive e HD externo), pois é extremamente desagradável passar algumas horas trabalhando em um documento importante em casa ou no escritório e quando vai abrir a versão que está no pendrive ou notebook perceber que ainda é a versão anterior que nada acrescenta e não resolve o problema (me aconteceu com uma petição de 25 laudas, levei o arquivo inicial com 2... pense numa revolta... daí que bolei esse esquema).
Usamos para isso o
rsync e como só estaremos sincronizando os dados, ele não copiará tudo novamente, apenas o que foi modificado.
O rsync é uma ferramenta poderosa e útil, sendo que não é muito utilizada em servidores de dados públicos (como é o caso da maioria dos mirrors de isos
Linux, dentre outros), porque, segundo me consta, acaba exigindo muito do servidor em termos de memória e processamento, pois precisa conferir as diferenças entre arquivos e ainda enviá-los comprimidos pela rede. Agora imagine um servidor fazendo isso com uns mil usuários pendurados... Claro que existem vários servidores com rsync mundo afora, mas veja quantas distros e mirrors existem e quantos oferecem a opção de download via rsync daemon. Outra nova e interessante alternativa para servidores é o zsync.
Ops, desculpem a digressão... O rsync é encontrado por padrão na maioria das distros, mas se não o encontrar, num sistema Debian-like, use o conhecido:
# apt-get install rsync
O comando usado para sincronizar as pastas é:
rsync -vaxE --delete /origem/Documentos/ /destino/Documentos/
Note que a barra final faz diferença. Neste caso as pastas são iguais e vamos sincronizar só o que elas contém. Se faltar uma barra, o rsync vai entender que é para copiar uma pasta dentro da outra e não vai funcionar a contento.
As opções "-vaxE" fazem a tarefa de manter permissões etc. Uso o mnemônico "VAX", que era o nome de um antigo sistema da DEC, do tempo do boitatá (
http://pt.wikipedia.org/wiki/VAX/VMS) para lembrar dela...
A opção "--delete" diz para apagar arquivos movidos ou deletados (ele não diferencia, ele apaga no destino se não existir na origem, portanto: cuidado com suas coisas), o que por si só ajuda a evitar arquivos duplicados (não faz milagre, mas ajuda).
Depois de um tempo, digitar esses comandos fica tão natural que acabei nem escrevendo script pra isso...
Mais sobre o rsync:
man rsync
Backup com Rsync [Artigo]
Até a próxima.